package com.lb.uts.service;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lb.uts.entity.ScheduleJob;
import com.lb.uts.mapper.ScheduleJobMapper;

import java.io.Serializable;
import java.util.List;

/**
 * 提供简单的增删改查功能</p>
 * 其中T是{@link BaseMapper}的子类
 * K是数据库表实例。
 * k与T：{@link ScheduleJob} 和{@link ScheduleJobMapper}
 * 本系统主键生成的方式一律采用uuid，所以这里写死主键id是String
 *
 * @author liangb
 * @date 2019/3/27 11:25
 */
public interface IBaseService<T extends BaseMapper<K>, K extends Serializable> {

    /**
     * 保存
     */
    int insert(K k);

    int update(K k);

    /**
     * 通过主键删除
     */
    int deleteById(String id);

    K getById(String id);

    /**
     * 通过实体查询
     */
    List<K> queryByEntity(K k);

    /**
     * 统计
     * @param k
     * @return
     */
    int countByEntity(K k);
}
